home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK1.toast / Development Kits (Disc 1) / Open Transport / Sample Code / DTS Sample Code / OTLLCTest / OTLLCTest.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-11-19  |  4.9 KB  |  170 lines  |  [TEXT/CWIE]

  1. /*
  2.     File:        OTLLCTest.h
  3.  
  4.     Contains:    headers, defines for the OTLLCTest.c file
  5.  
  6.     Written by:    Rich Kubota
  7.  
  8.     Copyright:    © 1993-1995 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.     To Do:
  13.  
  14. */
  15.  
  16. #ifndef __OTLLCTEST__
  17. #define __OTLLCTEST__
  18.  
  19.  
  20. #ifndef __CONDITIONALMACROS__
  21. #include <ConditionalMacros.h>
  22. #endif
  23.  
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27.  
  28. #if PRAGMA_ALIGN_SUPPORTED
  29. #pragma options align=mac68k
  30. #endif
  31.  
  32. #if PRAGMA_IMPORT_SUPPORTED
  33. #pragma import on
  34. #endif
  35.  
  36. #include <stdio.h>
  37. #include <Types.h>
  38. #include <Memory.h>
  39. #include <Resources.h>
  40. #include <Events.h>
  41. #include <OpenTransport.h>            // open transport files            
  42. #include <OpenTptLinks.h>
  43.  
  44. // defines for setting and reading the data buffer
  45. #define DATASIZE    1500
  46. #define DATASLOP    32        // extra bytes for the incoming data buffer
  47. #define DATAOFFSET    1400    // first byte in data buffer where we place valid data
  48.  
  49. #define    SENDCOUNT    10005    // number of data packets to send
  50. #define TRIGGEREND    10000    // trigger point for receiver to end
  51.  
  52. // define the DSAP
  53. //#define TESTSAP        0xFF
  54. #define TESTSAP        0xE0
  55.  
  56. #define TIMEOUT        25         // seconds
  57. // define the multicast address to use
  58. #define MCASTADDR0    0x09
  59. #define MCASTADDR1    0x00
  60. #define MCASTADDR2    0x2B
  61. #define MCASTADDR3    0x00
  62. #define MCASTADDR4    0x00
  63. #define MCASTADDR5    0x04
  64.  
  65. // defines for gFlags bits
  66. #define OTActiveFlag    0
  67. #define EPActiveFlag    1
  68. #define EPBoundFlag        2
  69. #define MCastActiveFlag    3
  70. #define    WantDataFlag    4
  71. #define StillBindFlag    5
  72. #define StillSendFlag    6
  73. #define    FlowErrFlag        7
  74. #define FlowClrFlag        8
  75. #define AckSendsFlag    9
  76. #define UseAckSendsFlag    10
  77. #define WaitOptMgmtFlag    11
  78. #define RawModeFlag        12
  79. #define UseRawModeFlag    13
  80.  
  81.  
  82. // gFlags macros for setting, testing and clearing the flag bits
  83. #define SetOTActiveFlag(flags)        (flags |= 1 << OTActiveFlag)
  84. #define ClrOTActiveFlag(flags)        (flags &= (-1 ^ (1 << OTActiveFlag)))
  85. #define TstOTActiveFlag(flags)        ((flags & (1 << OTActiveFlag)) != 0)
  86.  
  87. #define SetEPActiveFlag(flags)        (flags |= 1 << EPActiveFlag)
  88. #define ClrEPActiveFlag(flags)        (flags &= (-1 ^ (1 << EPActiveFlag)))
  89. #define TstEPActiveFlag(flags)        ((flags & (1 << EPActiveFlag)) != 0)
  90.  
  91. #define SetEPBoundFlag(flags)        (flags |= 1 << EPBoundFlag)
  92. #define ClrEPBoundFlag(flags)        (flags &= (-1 ^ (1 << EPBoundFlag)))
  93. #define TstEPBoundFlag(flags)        ((flags & (1 << EPBoundFlag)) != 0)
  94.  
  95. #define SetMCastActiveFlag(flags)    (flags |= 1 << MCastActiveFlag)
  96. #define ClrMCastActiveFlag(flags)    (flags &= (-1 ^ (1 << MCastActiveFlag)))
  97. #define TstMCastActiveFlag(flags)    ((flags & (1 << MCastActiveFlag)) != 0)
  98.  
  99. #define SetWantDataFlag(flags)        (flags |= 1 << WantDataFlag)
  100. #define ClrWantDataFlag(flags)        (flags &= (-1 ^ (1 << WantDataFlag)))
  101. #define TstWantDataFlag(flags)        ((flags & (1 << WantDataFlag)) != 0)
  102.  
  103. #define SetStillBindFlag(flags)        (flags |= 1 << StillBindFlag)
  104. #define ClrStillBindFlag(flags)        (flags &= (-1 ^ (1 << StillBindFlag)))
  105. #define TstStillBindFlag(flags)        ((flags & (1 << StillBindFlag)) != 0)
  106.  
  107. #define SetStillSendFlag(flags)        (flags |= 1 << StillSendFlag)
  108. #define ClrStillSendFlag(flags)        (flags &= (-1 ^ (1 << StillSendFlag)))
  109. #define TstStillSendFlag(flags)        ((flags & (1 << StillSendFlag)) != 0)
  110.  
  111. #define SetFlowErrFlag(flags)        (flags |= 1 << FlowErrFlag)
  112. #define ClrFlowErrFlag(flags)        (flags &= (-1 ^ (1 << FlowErrFlag)))
  113. #define TstFlowErrFlag(flags)        ((flags & (1 << FlowErrFlag)) != 0)
  114.  
  115. #define SetFlowClrFlag(flags)        (flags |= 1 << FlowClrFlag)
  116. #define ClrFlowClrFlag(flags)        (flags &= (-1 ^ (1 << FlowClrFlag)))
  117. #define TstFlowClrFlag(flags)        ((flags & (1 << FlowClrFlag)) != 0)
  118.  
  119. #define SetAckSendsFlag(flags)        (flags |= 1 << AckSendsFlag)
  120. #define ClrAckSendsFlag(flags)        (flags &= (-1 ^ (1 << AckSendsFlag)))
  121. #define TstAckSendsFlag(flags)        ((flags & (1 << AckSendsFlag)) != 0)
  122.  
  123. #define SetUseAckSendsFlag(flags)    (flags |= 1 << UseAckSendsFlag)
  124. #define ClrUseAckSendsFlag(flags)    (flags &= (-1 ^ (1 << UseAckSendsFlag)))
  125. #define TstUseAckSendsFlag(flags)    ((flags & (1 << UseAckSendsFlag)) != 0)
  126.  
  127. #define SetWaitOptMgmtFlag(flags)    (flags |= 1 << WaitOptMgmtFlag)
  128. #define ClrWaitOptMgmtFlag(flags)    (flags &= (-1 ^ (1 << WaitOptMgmtFlag)))
  129. #define TstWaitOptMgmtFlag(flags)    ((flags & (1 << WaitOptMgmtFlag)) != 0)
  130.  
  131. #define SetRawModeFlag(flags)        (flags |= 1 << RawModeFlag)
  132. #define ClrRawModeFlag(flags)        (flags &= (-1 ^ (1 << RawModeFlag)))
  133. #define TstRawModeFlag(flags)        ((flags & (1 << RawModeFlag)) != 0)
  134.  
  135. #define SetUseRawModeFlag(flags)    (flags |= 1 << UseRawModeFlag)
  136. #define ClrUseRawModeFlag(flags)    (flags &= (-1 ^ (1 << UseRawModeFlag)))
  137. #define TstUseRawModeFlag(flags)    ((flags & (1 << UseRawModeFlag)) != 0)
  138.  
  139.  
  140. enum {
  141.     kSendTest = 1,
  142.     kReceiveTest,
  143.     kAcceptOption,
  144.     kDeclineOption,
  145.     kQuitTest
  146. } TestTypes;
  147.  
  148. struct Address8022
  149.     {
  150.     OTAddressType    fAddrFamily;
  151.     UInt8            fHWAddr[k48BitAddrLength];
  152.     UInt16            fSAP;
  153.     };
  154. typedef struct Address8022 Address8022;
  155.  
  156.  
  157. #if PRAGMA_IMPORT_SUPPORTED
  158. #pragma import off
  159. #endif
  160.  
  161. #if PRAGMA_ALIGN_SUPPORTED
  162. #pragma options align=reset
  163. #endif
  164.  
  165. #ifdef __cplusplus
  166. }
  167. #endif
  168.  
  169. #endif /* __OTLLCTEST__ */
  170.